/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package desarrollosoft.ghce.vista.implementaciones;

import org.zkoss.chart.Charts;
import org.zkoss.chart.Legend;
import org.zkoss.chart.PlotLine;
import org.zkoss.chart.model.CategoryModel;
import org.zkoss.zk.ui.Execution;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Window;

/**
 *
 * @author ariel
 */
public class ControladoraGraficoMortalidad extends SelectorComposer<Window> {

    @Wire
    Charts grafico;
    
    private CategoryModel modelo;
    
    @Override
    public void doAfterCompose(Window comp) throws Exception {
        antesDeDibujar();
        super.doAfterCompose(comp);
        despuesDeDibujar();
    }
    
    private void antesDeDibujar() {
        Execution ejecucion = Executions.getCurrent();
        modelo = (CategoryModel) ejecucion.getArg().get("modelo");
    }
    
    private void despuesDeDibujar() {
        prepararGrafico();
        grafico.setModel(modelo);
    }
    
    private void prepararGrafico() {
        grafico.getTitle().setX(-20);
    
        grafico.getSubtitle().setX(-20);
    
        grafico.getYAxis().setTitle("porcentaje (%) bajas");
        PlotLine plotLine = new PlotLine();
        plotLine.setValue(0);
        plotLine.setWidth(1);
        plotLine.setColor("#808080");
        grafico.getYAxis().addPlotLine(plotLine);

        grafico.getTooltip().setValueSuffix(" % dados de Baja");

        Legend legend = grafico.getLegend();
        legend.setLayout("vertical");
        legend.setAlign("right");
        legend.setVerticalAlign("middle");
        legend.setBorderWidth(0);
    }
}
